# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>


//int main()
//{
//    int n = 0;
//    while (scanf("%d", &n) != EOF && n > 2 && n < 21)
//    {
//        int i = 0;
//        for (i = 1; i <= n; i++)
//        {
//            int j = 0;
//            for (j = 1; j <= i; j++)
//            {
//                printf("%d ", j);
//            }
//            printf("\n");
//        }
//    }
//	return 0;
//}


//int main()
//{
//    int arr[7] = { 0 };
//    while (scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6]) != EOF)
//    {
//
//        int i = 0;
//        int max = 0;
//        int min = arr[0];
//        for (i = 0; i < 7; i++)
//        {
//            if (arr[i] > max)
//            {
//                max = arr[i];
//            }
//            else if (arr[i] < min)
//            {
//                min = arr[i];
//            }
//        }
//        float sum = 0;
//        for (i = 0; i < 7; i++)
//        {
//            sum += arr[i];
//        }
//        printf("%.2f\n", (sum - max - min) / 5);
//    }
//    return 0;
//}



int main()
{
    int n = 0;
    int a = 0;
    int arr1[51] = { 0 };
    int arr2[51] = { 0 };
    while (scanf("%d", &n) != EOF && n >= 0 && n <= 50)
    {
        int i = 0;
        for (i = 0; i < n; i++)
        {
            scanf("%d", &arr1[i]);
        }
        scanf("%d", &a);
        for (i = 0; i < n; i++)
        {
            if (a < arr1[i])
            {
                int j = 0;
                arr2[i] = a;
                for (j = i; j < n; j++)
                {
                    arr2[j + 1] = arr1[j];
                }
                break;
            }
            arr2[i] = arr1[i];
        }
        if (a > arr1[i])
        {
            arr2[i] = a;
        }
        for (i = 0; i < n + 1; i++)
        {
            printf("%d ", arr2[i]);
        }
    }
    return 0;
}